#pragma once 


#include "helper/sqlite/AbstractDB.h"

namespace helper {
namespace sqlite {

class MemoryDB : public AbstractDB {
public:
  explicit MemoryDB(const std::string & name = "");
  ~MemoryDB() override;

  MemoryDB(const MemoryDB & ) = delete;
  MemoryDB & operator= (const MemoryDB & ) = delete;

  MemoryDB(MemoryDB && ) = delete;
  MemoryDB & operator= (MemoryDB && ) = delete;

  bool exists() const override ;
  std::error_code destroy() override ;

  inline std::string name() const {
    return _name;
  }
private:
  std::string _name;
};

}// namespace helper
}// namespace sqlite
